/*
 * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import { NgModule, Type } from '@angular/core';
import { SharedModule } from '@shared';

import { AccountEditerComponent } from './accounts/account-editer/account-editer.component';
import { AccountsComponent } from './accounts/accounts.component';
import { ColumnEditerComponent } from './db-columns/column-editer/column-editer.component';
import { DbColumnsComponent } from './db-columns/db-columns.component';
import { ConnectorEditerComponent } from './db-connectors/connector-editer/connector-editer.component';
import { DbConnectorsComponent } from './db-connectors/db-connectors.component';
import { DbTablesComponent } from './db-tables/db-tables.component';
import { SelectTablesComponent } from './db-tables/select-tables/select-tables.component';
import { TableEditerComponent } from './db-tables/table-editer/table-editer.component';
import { MetadataComponent } from './metadata/metadata.component';
import { OrganizationEditerComponent } from './organizations/organization-editer/organization-editer.component';
import { OrganizationsComponent } from './organizations/organizations.component';
import { ProjectEditerComponent } from './projects/project-editer/project-editer.component';
import { ProjectsComponent } from './projects/projects.component';
import { SelectProjectsComponent } from './projects/select-projects/select-projects.component';
import { RouteRoutingModule } from './routes-routing.module';
import { PasswordComponent } from './users/password/password.component';
import { SelectUserComponent } from './users/select-user/select-user.component';
import { UserEditerComponent } from './users/user-editer/user-editer.component';
import { UsersComponent } from './users/users.component';

const COMPONENTS: Array<Type<null>> = [];

@NgModule({
  imports: [SharedModule, RouteRoutingModule],
  declarations: [
    ...COMPONENTS,
    UsersComponent,
    AccountsComponent,
    OrganizationsComponent,
    OrganizationEditerComponent,
    UserEditerComponent,
    AccountEditerComponent,
    SelectUserComponent,
    PasswordComponent,
    ProjectsComponent,
    MetadataComponent,
    DbColumnsComponent,
    DbTablesComponent,
    ProjectEditerComponent,
    TableEditerComponent,
    ColumnEditerComponent,
    SelectTablesComponent,
    SelectProjectsComponent,
    DbConnectorsComponent,
    ConnectorEditerComponent
  ]
})
export class RoutesModule { }
